package com.itrencai.d4_date.regex;

import java.util.Scanner;

public class RegexDemo2jiaoyan {
    public static void main(String[] args) {
        //目标：校验手机号码 邮箱 电话号码
       checkPhone();
        checkEmail();
        checkTel();

    }

    private static void checkTel() {
        Scanner sc=new Scanner(System.in);
        while (true) {
            System.out.println("请输入您的电话号码：");
            String tel=sc.next();
            //判断电话号码的格式是否正确  021-23234 ?表示一次或一次都不 -？的意思就是-可有可无 至少出现一位用+
            if(tel.matches("0\\d{2,6}-?\\d{5,20}")){
                System.out.println("输入电话号码正确，注册成功！");
                break;
            }else{
                System.out.println("输入电话号码格式有误，请重新输入！");
            }
        }
    }

    private static void checkEmail() {
        Scanner sc=new Scanner(System.in);
        while (true) {
            System.out.println("请输入您的注册邮箱：");
            String email=sc.next();
            //判断邮箱的格式是否正确   \w意思是英文字母，数字，下划线
            if(email.matches("\\w{1,30}@[a-zA-Z0-9]{2,20}(\\.[a-zA-Z0-9]{2,20}){1,2}")){
                System.out.println("输入邮箱正确，注册成功！");
                break;
            }else{
                System.out.println("输入邮箱格式有误，请重新输入！");
            }
        }
    }

    public static void checkPhone(){
        Scanner sc=new Scanner(System.in);
        while (true) {
            System.out.println("请输入您的注册手机号：");
            String phone=sc.next();
            //判断手机号的格式是否正确
            if(phone.matches("1[3-9]\\d{9}")){
                System.out.println("输入手机号正确，注册成功！");
                break;
            }else{
                System.out.println("输入手机号格式有误，请重新输入！");
            }
        }
    }
}
